﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AudiPyme.DAL
{
    public class PesoPreguntasTICFactory
    {
        //Devuelve el peso de la pregunta TIC número 1 según el sector y tipo de empresa de la empresa que lo solicita
        public static double PesoPregunta1(int IdSector, int IdTipoEmpresa)
        {
            ModeloContainer agenteBD = new ModeloContainer();
            //Cogemos el Valor de la Pregunta 1 para el Tipo de Empresa y Sector de la misma
            IQueryable<double> PesoEmpresaPregunta1 = from p in agenteBD.PesoPreguntasTICEstablecer
                                                      where p.IdSector == IdSector && p.IdTipoEmpresa == IdTipoEmpresa
                                                            && p.IdPregunta == 1
                                                      select p.Peso;
            if (PesoEmpresaPregunta1.Count() == 0)
            {
                //ValorCentinela, no se ha encontrado el dato
                return 0.0;
            }
            else
            {
                return PesoEmpresaPregunta1.First();
            }
        }

        //Devuelve el peso de la pregunta TIC número 2 según el sector y tipo de empresa de la empresa que lo solicita
        public static double PesoPregunta2(int IdSector, int IdTipoEmpresa)
        {
            ModeloContainer agenteBD = new ModeloContainer();
            //Cogemos el Valor de la Pregunta 2 para el Tipo de Empresa y Sector de la misma
            IQueryable<double> PesoEmpresaPregunta2 = from p in agenteBD.PesoPreguntasTICEstablecer
                                                      where p.IdSector == IdSector && p.IdTipoEmpresa == IdTipoEmpresa
                                                            && p.IdPregunta == 2
                                                      select p.Peso;
            if (PesoEmpresaPregunta2.Count() == 0)
            {
                //ValorCentinela, no se ha encontrado el dato
                return 0.0;
            }
            else
            {
                return PesoEmpresaPregunta2.First();
            }
        }

        //Devuelve el peso de la pregunta TIC número 3 según el sector y tipo de empresa de la empresa que lo solicita
        public static double PesoPregunta3(int IdSector, int IdTipoEmpresa)
        {
            ModeloContainer agenteBD = new ModeloContainer();
            //Cogemos el Valor de la Pregunta 3 para el Tipo de Empresa y Sector de la misma
            IQueryable<double> PesoEmpresaPregunta3 = from p in agenteBD.PesoPreguntasTICEstablecer
                                                      where p.IdSector == IdSector && p.IdTipoEmpresa == IdTipoEmpresa
                                                            && p.IdPregunta == 3
                                                      select p.Peso;
            if (PesoEmpresaPregunta3.Count() == 0)
            {
                //ValorCentinela, no se ha encontrado el dato
                return 0.0;
            }
            else
            {
                return PesoEmpresaPregunta3.First();
            }
        }

        //Devuelve el peso de la pregunta TIC número 4 según el sector y tipo de empresa de la empresa que lo solicita
        public static double PesoPregunta4(int IdSector, int IdTipoEmpresa)
        {
            ModeloContainer agenteBD = new ModeloContainer();
            //Cogemos el Valor de la Pregunta 4 para el Tipo de Empresa y Sector de la misma
            IQueryable<double> PesoEmpresaPregunta4 = from p in agenteBD.PesoPreguntasTICEstablecer
                                                      where p.IdSector == IdSector && p.IdTipoEmpresa == IdTipoEmpresa
                                                            && p.IdPregunta == 4
                                                      select p.Peso;
            if (PesoEmpresaPregunta4.Count() == 0)
            {
                //ValorCentinela, no se ha encontrado el dato
                return 0.0;
            }
            else
            {
                return PesoEmpresaPregunta4.First();
            }
        }

        //Devuelve el peso de la pregunta TIC número 5 según el sector y tipo de empresa de la empresa que lo solicita
        public static double PesoPregunta5(int IdSector, int IdTipoEmpresa)
        {
            ModeloContainer agenteBD = new ModeloContainer();
            //Cogemos el Valor de la Pregunta 5 para el Tipo de Empresa y Sector de la misma
            IQueryable<double> PesoEmpresaPregunta5 = from p in agenteBD.PesoPreguntasTICEstablecer
                                                      where p.IdSector == IdSector && p.IdTipoEmpresa == IdTipoEmpresa
                                                            && p.IdPregunta == 5
                                                      select p.Peso;
            if (PesoEmpresaPregunta5.Count() == 0)
            {
                //ValorCentinela, no se ha encontrado el dato
                return 0.0;
            }
            else
            {
                return PesoEmpresaPregunta5.First();
            }
        }

        //Devuelve el peso de la pregunta TIC número 6 según el sector y tipo de empresa de la empresa que lo solicita
        public static double PesoPregunta6(int IdSector, int IdTipoEmpresa)
        {
            ModeloContainer agenteBD = new ModeloContainer();
            //Cogemos el Valor de la Pregunta 6 para el Tipo de Empresa y Sector de la misma
            IQueryable<double> PesoEmpresaPregunta6 = from p in agenteBD.PesoPreguntasTICEstablecer
                                                      where p.IdSector == IdSector && p.IdTipoEmpresa == IdTipoEmpresa
                                                            && p.IdPregunta == 6
                                                      select p.Peso;
            if (PesoEmpresaPregunta6.Count() == 0)
            {
                //ValorCentinela, no se ha encontrado el dato
                return 0.0;
            }
            else
            {
                return PesoEmpresaPregunta6.First();
            }
        }
    }
}
